home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 24 / CU Amiga Magazine's Super CD-ROM 24 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-07].iso / CUCD / Utilities / vim-5.1 / syntax / java.vim < prev    next >
Encoding:
Text File  |  1998-04-02  |  12.3 KB  |  248 lines

  1. " Vim syntax file
  2. " Language:    Java
  3. " Maintainer:    Claudio Fleiner <claudio@fleiner.com>
  4. " URL:        http://www.fleiner.com/vim/syntax/java.vim
  5. " Last change:    1998 Mar 31
  6.  
  7. " Please check :help java.vim for comments on some of the options available.
  8.  
  9. " Remove any old syntax stuff hanging around
  10. syn clear
  11.  
  12. " some characters that cannot be in a java program (outside a string)
  13. syn match javaError "[\\@$`]"
  14. syn match javaError "<<<\|\.\.\|=>\|<>\|||=\|&&=\|->"
  15.  
  16. " use separte name so that it can be deleted in javacc.vim
  17. syn match javaError2 "#\|=<"
  18. hi link javaError2 javaError
  19.  
  20. " keyword definitions
  21. syn keyword javaExternal        import native package
  22. syn keyword javaError           cast const future generic goto inner outer rest
  23. syn keyword javaError           var byvalue operator
  24. syn keyword javaBranch          break continue
  25. syn keyword javaLabel           case default
  26. syn keyword javaConditional     if else switch
  27. syn keyword javaRepeat          while for do
  28. syn keyword javaBoolean         true false
  29. syn keyword javaConstant        null
  30. syn keyword javaTypedef         this super
  31. syn keyword javaOperator        new instanceof
  32. syn keyword javaType            boolean char byte short int long float double
  33. syn keyword javaType            void
  34. syn keyword javaStatement       return
  35. syn keyword javaStorageClass    static synchronized transient volatile final
  36. syn keyword javaExceptions      throw try catch finally
  37. syn keyword javaMethodDecl      synchronized throws
  38. syn keyword javaClassDecl       abstract extends implements interface
  39. " to differentiate the keyword class from MyClass.class we use a match here
  40. syn match   javaClassDecl       "^class\>"
  41. syn match   javaClassDecl       "[^.]\<class\>"ms=s+1
  42. syn keyword javaScopeDecl       public protected private
  43.  
  44. " Comments
  45. syn region  javaCommentString    contained start=+"+  skip=+\\\\\|\\"+  end=+"+ end=+\*/+me=s-1,he=s-1 contains=javaSpecial,javaCommentStar
  46. syn region  javaComment2String   contained start=+"+  skip=+\\\\\|\\"+  end=+$\|"+  contains=javaSpecial
  47. syn region  javaComment          start="/\*"  end="\*/" contains=javaCommentString,javaCharacter,javaNumber
  48. syn match   javaCommentStar contained "^\s*\*[^/]"me=e-1
  49. syn match   javaCommentStar contained "^\s*\*$"
  50. hi link javaCommentString javaString
  51. hi link javaComment2String javaString
  52. syn match   javaLineComment      "//.*" contains=javaComment2String,javaCharacter,javaNumber
  53.  
  54. if !exists("java_ignore_javadoc")
  55.   syn region  javaComment       start="/\*\*"  end="\*/" contains=javaCommentTitle,javaHtmlError,javaHtmlTag,javaHtmlEndTag,javaHtmlSpecialChar,javaHtmlComment,javaDocTags
  56.   syn region  javaCommentTitle  contained matchgroup=javaComment start="/\*\*"   matchgroup=javaCommentTitle end="\.$" end="\.[ \t\r<&]"me=e-1 end="@"me=s-1,he=s-1 end="\*/"me=s-1,he=s-1 contains=javaHtmlError,javaHtmlTag,javaHtmlEndTag,javaHtmlSpecialChar,javaHtmlComment,javaCommentStar
  57.  
  58.   " syntax coloring for javadoc comments (HTML)
  59.   syntax case ignore
  60.  
  61.   syn match javaDocTags contained "@\(see\|version\|author\|param\|return\|exception\|deprecated\)"
  62.  
  63.   syn match javaHtmlError contained "[<>&]"
  64.  
  65.   " tags
  66.   syn match   javaHtmlSpecial  contained "\\[0-9][0-9][0-9]\|\\."
  67.   syn region  javaHtmlString   contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=javaHtmlSpecial,javaScriptExpression
  68.   syn region  javaHtmlString   contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=javaHtmlSpecial,javaScriptExpression
  69.   syn match   javaHtmlValue    contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1   contains=javaScriptExpression
  70.   syn region  javaHtmlEndTag   contained start=+</+    end=+>+              contains=javaHtmlTagName,javaHtmlTagError
  71.   syn region  javaHtmlTag      contained start=+<[a-zA-Z]+ end=+>+ end=+\*/+me=s-1,he=s-1 contains=javaHtmlString,javaHtmlTagName,javaHtmlArg,javaHtmlValue,javaHtmlTagError,javaHtmlEvent
  72.   syn match   javaHtmlTagError contained "[^>]<"ms=s+1
  73.  
  74.   " tag names
  75.   syn keyword javaHtmlTagName contained address applet area a base basefont
  76.   syn keyword javaHtmlTagName contained big blockquote body br b caption center
  77.   syn keyword javaHtmlTagName contained cite code dd dfn dir div dl dt em font
  78.   syn keyword javaHtmlTagName contained form h1 h2 h3 h4 h5 h6 head hr html img
  79.   syn keyword javaHtmlTagName contained input isindex i kbd link li link map menu
  80.   syn keyword javaHtmlTagName contained meta ol option param pre p samp
  81.   syn keyword javaHtmlTagName contained select small strike strong style sub sup
  82.   syn keyword javaHtmlTagName contained table td textarea th title tr tt ul u var
  83.  
  84.   " legal arg names
  85.   syn keyword javaHtmlArg contained action
  86.   syn keyword javaHtmlArg contained align alink alt archive background bgcolor
  87.   syn keyword javaHtmlArg contained border bordercolor cellpadding
  88.   syn keyword javaHtmlArg contained cellspacing checked clear code codebase color
  89.   syn keyword javaHtmlArg contained cols colspan content coords enctype face
  90.   syn keyword javaHtmlArg contained gutter height href hspace
  91.   syn keyword javaHtmlArg contained link lowsrc marginheight
  92.   syn keyword javaHtmlArg contained marginwidth maxlength method name prompt
  93.   syn keyword javaHtmlArg contained rel rev rows rowspan scrolling selected shape
  94.   syn keyword javaHtmlArg contained size src start target text type url
  95.   syn keyword javaHtmlArg contained usemap ismap valign value vlink vspace width wrap
  96.   syn match javaHtmlArg contained "http-equiv"
  97.   " Netscape extensions
  98.   syn keyword javaHtmlTagName contained frame frameset nobr span
  99.   syn keyword javaHtmlTagName contained layer ilayer nolayer spacer
  100.   syn keyword javaHtmlArg     contained frameborder noresize pagex pagey above below
  101.   syn keyword javaHtmlArg     contained left top visibility clip id noshade
  102.   syn match   javaHtmlArg     contained "z-index"
  103.  
  104.   " special characters
  105.   syn match javaHtmlSpecialChar contained "&[^;]*;"
  106.  
  107.   " The real html comments (this implements the comments as defined by html,
  108.   " but not all html pages actually conform to it. Errors are flagged.
  109.   syn region javaHtmlComment      contained          start=+<!+        end=+>+ contains=javaHtmlCommentPart,javaHtmlCommentError
  110.   syn region javaHtmlComment      contained          start=+<!DOCTYPE+ end=+>+
  111.   syn match  javaHtmlCommentError contained "[^><!]"
  112.   syn region javaHtmlCommentPart  contained start=+--+        end=+--+
  113.  
  114.   syntax case match
  115. endif
  116.  
  117. " match the special comment /**/
  118. syn match   javaComment          "/\*\*/"
  119.  
  120. " Strings and constants
  121. syn match   javaSpecialError     contained "\\."
  122. syn match   javaSpecialCharError contained "[^']"
  123. syn match   javaSpecialChar      contained "\\\([0-9]\{1,2\}\|[0-3][0-9][0-9]\|[\"\\'ntbrf]\|u[0-9a-fA-F]\{4\}\)"
  124. syn region  javaString           start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=javaSpecialChar,javaSpecialError
  125. syn match   javaCharacter        "'[^']*'" contains=javaSpecialChar,javaSpecialCharError
  126. syn match   javaCharacter        "'\\''" contains=javaSpecialChar
  127. syn match   javaCharacter        "'[^\\]'"
  128. syn match   javaNumber           "-\=\<[0-9]\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
  129.  
  130. " unicode characters
  131. syn match   javaSpecial "\\u[0-9]\{4\}"
  132.  
  133. " catch errors caused by wrong parenthesis
  134. syn region  javaParen            transparent start="(" end=")" contains=ALLBUT,javaCommentStar,javaSpecial,javaParenError,javaDebugString,javaDebugNumber,javaDebugType,javaDebug,javaDebugBoolean,javaDebugSpecial,javaDebugSpecialCharacter,javaDebugCharacter,javaSpecialError,javaSpecialCharError,javaHtml.*
  135. syn match   javaParenError       ")"
  136. hi link     javaParenError       javaError
  137.  
  138. if exists("java_highlight_functions")
  139.   " WARNING: the following definitions work only if you use one tab or two spaces
  140.   " to indent function. If you use something different, change the leading
  141.   " white space in all definitions.
  142.   syn match  javaFuncDef "^\t[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*)" contains=javaScopeDecl,javaType,javaStorageClass
  143.   syn region javaFuncDef start=+^\t[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*,\s*+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass
  144.   syn match  javaFuncDef "^  [a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*)" contains=javaScopeDecl,javaType,javaStorageClass
  145.   syn region javaFuncDef start=+^  [a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*,\s*+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass
  146.   syn match  javaBraces  "[{}]"
  147. endif
  148.  
  149. if exists("java_mark_braces_in_parens_as_errors")
  150.   syn match javaInParen          contained "[{}]"
  151.   hi link   javaInParen          javaError
  152. endif
  153.  
  154. if exists("java_highlight_debug")
  155.   " to make this work you must define the highlighting for these groups
  156.   syn region javaDebug start="System\.\(out\|err\)\.print\(ln\)*\s*" end=";" contains=javaDebug.*
  157.   syn region javaDebug  start="trace[ \t]*(" end=";" contains=javaDebug.*
  158.  
  159.   " Strings and constants
  160.   syn match   javaDebugSpecial          contained "\\[0-9][0-9][0-9]\|\\."
  161.   syn region  javaDebugString           contained start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=javaDebugSpecial
  162.   syn match   javaDebugCharacter        contained "'[^\\]'"
  163.   syn match   javaDebugSpecialCharacter contained "'\\.'"
  164.   syn match   javaDebugSpecialCharacter contained "'\\''"
  165.   syn match   javaDebugNumber           contained "-\=\<[0-9]\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
  166.   syn keyword javaDebugBoolean          contained true false
  167.   syn keyword javaDebugType             contained null this super
  168.  
  169.   hi link javaDebug    Debug
  170.   hi link javaDebugString DebugString
  171.   hi link javaDebugType DebugType
  172.   hi link javaDebugBoolean DebugBoolean
  173.   hi link javaDebugNumber Debug
  174.   hi link javaDebugSpecial DebugSpecial
  175.   hi link javaDebugSpecialCharacter DebugSpecial
  176.   hi link javaDebugCharacter DebugString
  177.  
  178.   hi link DebugString String
  179.   hi link DebugSpecial Special
  180.   hi link DebugBoolean Boolean
  181.   hi link DebugType Type
  182. endif
  183.  
  184. if !exists("java_minlines")
  185.   let java_minlines = 10
  186. endif
  187. exec "syn sync ccomment javaComment minlines=" . java_minlines
  188.  
  189. if !exists("did_java_syntax_inits")
  190.   let did_java_syntax_inits = 1
  191.   " The default methods for highlighting.  Can be overridden later
  192.   hi link javaFuncDef                       Function
  193.   hi link javaBraces                        Function
  194.   hi link javaBranch                        Conditional
  195.   hi link javaLabel                         Label
  196.   hi link javaConditional                   Conditional
  197.   hi link javaRepeat                        Repeat
  198.   hi link javaExceptions                    Exception
  199.   hi link javaStorageClass                  StorageClass
  200.   hi link javaMethodDecl                    javaStorageClass
  201.   hi link javaClassDecl                     javaStorageClass
  202.   hi link javaScopeDecl                     javaStorageClass
  203.   hi link javaBoolean                       Boolean
  204.   hi link javaSpecial                       Special
  205.   hi link javaSpecialError                  Error
  206.   hi link javaSpecialCharError              Error
  207.   hi link javaString                        String
  208.   hi link javaCharacter                     Character
  209.   hi link javaSpecialChar            SpecialChar
  210.   hi link javaNumber                        javaValue
  211.   hi link javaError                         Error
  212.   hi link javaStatement                     Statement
  213.   hi link javaOperator                      Operator
  214.   hi link javaComment                       Comment
  215.   hi link javaLineComment                   Comment
  216.   hi link javaConstant                Constant
  217.   hi link javaTypedef                Typedef
  218.  
  219.   hi link javaCommentTitle                  SpecialComment
  220.   hi link javaDocTags                Special
  221.   hi link javaCommentStar                   javaComment
  222.  
  223.   hi link javaType                          Type
  224.   hi link javaValue                         Number
  225.   hi link javaExternal                      Include
  226.  
  227.   hi link javaHtmlTag                       Function
  228.   hi link javaHtmlEndTag                    Identifier
  229.   hi link javaHtmlArg                       Type
  230.   hi link javaHtmlTagName                   javaHtmlStatement
  231.   hi link javaHtmlSpecialChar               SpecialChar
  232.   hi link javaHtmlSpecial                   Special
  233.   hi link javaHtmlString                    String
  234.   hi link javaHtmlStatement                 Statement
  235.   hi link javaHtmlComment                   Special
  236.   hi link javaHtmlCommentPart               Special
  237.   hi link javaHtmlPreProc                   PreProc
  238.   hi link javaHtmlValue                     String
  239.   hi link javaHtmlCommentError              javaHtmlError
  240.   hi link javaHtmlTagError                  javaHtmlError
  241.   hi link javaHtmlEvent                     javaScript
  242.   hi link javaHtmlError                Error
  243. endif
  244.  
  245. let b:current_syntax = "java"
  246.  
  247. " vim: ts=8
  248.